/**
 * 
 */
package kulstats;

import java.util.Date;
import java.util.List;

import com.google.appengine.api.datastore.Key;

/**
 * @author steven
 *
 */
public abstract class Activity {
	private Key key;

	protected Date startDate, stopDate;
	protected int points;
	protected List<Question> questionnaire;
	/**
	 * @param userID
	 * @param startDate
	 * @param stopDate
	 * @param points
	 * @param questionnaire
	 */
	public Activity(Key key, Date startDate, Date stopDate, int points,
			List<Question> questionnaire) {
		this.key = key;
		this.startDate = startDate;
		this.stopDate = stopDate;
		this.points = points;
		this.questionnaire = questionnaire;
	}
	public Activity(Date startDate, Date stopDate, int points,
			List<Question> questionnaire) {
		this.key = key;
		this.startDate = startDate;
		this.stopDate = stopDate;
		this.points = points;
		this.questionnaire = questionnaire;
	}
	/**
	 * @return the startDate
	 */
	public Date getStartDate() {
		return startDate;
	}
	/**
	 * @param startDate the startDate to set
	 */
	public void setStartDate(Date startDate) {
		this.startDate = startDate;
	}
	/**
	 * @return the stopDate
	 */
	public Date getStopDate() {
		return stopDate;
	}
	/**
	 * @param stopDate the stopDate to set
	 */
	public void setStopDate(Date stopDate) {
		this.stopDate = stopDate;
	}
	/**
	 * @return the points
	 */
	public int getPoints() {
		return points;
	}
	/**
	 * @param points the points to set
	 */
	public void setPoints(int points) {
		this.points = points;
	}
	/**
	 * @return the questionnaire
	 */
	public List<Question> getQuestionnaire() {
		return questionnaire;
	}
	/**
	 * @param questionnaire the questionnaire to set
	 */
	public void setQuestionnaire(List<Question> questionnaire) {
		this.questionnaire = questionnaire;
	}

	public Key getKey() {
		return key;
	}
	
	public void setKey(Key key) {
		this.key = key;
	}
	
	public abstract ActivityType getAType();
}
